Genetic Programming with Statically Scoped Local Variables
نویسنده
چکیده
This paper presents an extension to genetic programming to allow the evolution of programs containing local variables with static scope which obey the invariant that all variables are bound at time of use. An algorithm is presented for generating trees which obey this invariant, and an extension to the crossover operator is presented which preserves it. New genetic operators are described which abstract subexpressions to variables and delete variables. Finally, extensions of this work to iteration and functional constructs are discussed.
منابع مشابه
Local Variable Scoping and Kleene Algebra with Tests
We explore the power of relational semantics and equational reasoning in the style of Kleene algebra for analyzing programs with mutable, statically scoped local variables. We provide (i) a fully compositional relational semantics for a first-order programming language with constructs for local variable declaration and destructive update; and (ii) an equational proof system based on Kleene alge...
متن کاملConstraint-Based Polymorphism in Cecil
We are developing a static type system for object-oriented languages that strives to guarantee statically and completely the absence of certain large classes of run-time errors, to enable polymorphic abstractions to be written and typechecked once separately from any current or future instantiations, and to avoid forcing code to be written unnaturally due to static type system limitations. The ...
متن کاملComputational Effects across Generated Binders Maintaining future-stage lexical scope
Code generation is the leading approach to making high-performance software reusable. Effects are indispensable in code generators, whether to report failures or to insert let-statements and ifguards. Extensive painful experience shows that unrestricted effects interact with generated binders in undesirable ways to produce unexpectedly unbound variables, or worse, unexpectedly bound ones. These...
متن کاملStatically-Scoped Exceptions: a Typed Foundation for Aspect-Oriented Error Handling
Aspect-oriented programming systems such as AspectJ provide mechanisms for modularizing crosscutting error-handling concerns. However, AspectJ’s advice does not integrate well with Java’s checked exception mechanism. Furthermore, conventional exception-handling facilities such as AspectJ’s share the problem of accidental exception capture due to the dynamic nature of exception-handling semantic...
متن کاملScoped Types and Aspects for Real-Time Java
Real-time systems are notoriously difficult to design and implement, and, as many real-time problems are safety-critical, their solutions must be reliable as well as efficient and correct. While higher-level programming models (such as the Real-Time Specification for Java) permit real-time programmers to use language features that most programmers take for granted (objects, type checking, dynam...
متن کامل